Non-linear signal receiver

ABSTRACT

A non-linear signal receiver. The non-linear signal receiver for detecting an original data a k  from an input signal r(t) which is a binary data stream input through a channel or reproduced from data recorded on a storing device includes: an analog-to-digital converter (ADC) for sampling the input value according to sampling timing phases, and converting the sampled data into a digital signal r k ; a modeling portion including 2N+1 taps P n  (n=−N, . . . , 0, . . . , N) each for selecting one of 2 τ+ν  tap values according to each pattern p n  (b k−n+ν:k−n+1 , b k−n−1:k−n−τ ) of absolute values of the data transitions future ν bits and past τ bits, for estimating the channel characteristics of the sampled signal from the selected tap value and the data transition value; a timing recovery portion for controlling the sampling timing phase of the analog-to-digital converter using a phase gradient equal to p 1 ( 0 )−p −1 ( 0 ), which is the difference between values of respective taps positioned symmetrically around the tap P 0  of the modeling portion; an equalizer for compensating for the deteriorated characteristics of the output value of the analog-to-digital converter; and a detector for converting the output of the equalizer to a digital value, to detect the original signal. Therefore, an accurate timing phase can be found using a model in which a non-linear channel of a high-density digital magnetic storing device is expressed by transition pulses selected according to the future ν bits and the past τ bits, thereby reducing timing jitter and bias.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a non-linear signal receiver, and more particularly, to a non-linear signal receiver for stably restoring the sampling time of a signal reproduced from a data storage device, taking in consideration non-linear distortion of the signal.

2. Description of the Related Art

In general, non-linearity becomes a serious problem as recording density increases in digital magnetic recording media such as a hard disk drive (HDD). Non-linearity is generated due to interactions between adjacent transitions. A demagnetization field of a previously recorded transition shifts the position of a subsequently recorded transition and increases the width between transitions. The adjacent transitions operate to erase each other. As a result, the amplitude of a reproduced signal is reduced. Such phenomenons are known as a non-linear transition shift (NLTS), a transition broadening, and a partial erasure. Such non-linear distortion adversely affects a series of processes for detecting data from the reproduced signal, and makes it difficult to search an accurate phase of the signal. In case that such non-linear distortion characteristic is not considered, timing jitter and bias become serious.

To solve the problems, U.S. Pat. No. 4,890,299 discloses a method for correcting the sampling phase of a partial-response (PR) signal without causing hangups in which the sampling phase correction is interrupted for a predetermined period of time. However, the method is effective on only linear signals. That is, it is difficult to apply this method to a signal having non-linear distortion. Also, other conventional methods for phase compensation have been based on the assumption that a signal is linear. Thus, these methods cannot be used for a signal having serious non-linear distortion.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a non-linear signal receiver for modeling signals sampled in consideration of past, current and future bit data, and correcting sampling-timing phase from the phase gradient among the sampled signals.

To achieve the object of the present invention, there is provided a non-linear signal receiver for detecting an original data a_(k) from an input signal r(t) which is a binary data stream input through a channel or reproduced from data recorded on a storing device, the receiver comprising: an analog-to-digital converter (ADC) for sampling the input value according to sampling timing phases, and converting the sampled data into a digital signal r_(k); a modeling portion including 2N+1 taps P_(n) (n=−N, . . . , 0, . . . , N) each for selecting one of 2^(τ+ν) tap values according to each pattern p_(n) (b_(k−n+ν:k−n+l), b_(k−n−1:k−n−τ)) of absolute values of the data transitions future ν bits and past τ bits, for estimating the channel characteristics of the sampled signal from the selected tap value and the data transition value; a timing recovery portion for controlling the sampling timing phase of the analog-to-digital converter using a phase gradient which is the difference between values of respective taps positioned symmetrically around the tap P₀ of the modeling portion; an equalizer for compensating for the deteriorated characteristics of the output value of the analog-to-digital converter; and a detector for converting the output of the equalizer to a digital value, to detect the original signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The above objects and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:

FIG. 1 is a block diagram of a non-linear signal receiver according to the present invention;

FIG. 2 is a detailed block diagram of the modeling portion and the timing recovery portion of FIG. 2;

FIGS. 3A and 3B are graphs showing pulse samples according to timing phases;

FIG. 4 shows an example of the nth filter tap (P_(n), wherein n=−N, . . . , 0, . . . , N) of FIG. 2; and

FIG. 5 shows the results of a simulated phase correction using the non-linear signal receiver according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, a non-linear signal receiver according to the present invention includes an analog-to-digital converter (ADC) 100, an equalizer 102, a detector 104, a modeling portion 106 and a timing recovery portion 108.

The ADC 100 samples an analog signal r(t) received through a channel or reproduced from a data storage device, and converts the analog signal into a digital signal r_(k). The equalizer 102 compensates for the deteriorated characteristics of the input signal r_(k), and the detector 104 compares the output value of the equalizer 102 with a predetermined value to output a digital value. The modeling portion 106 does modeling on a channel using the output value of the detector 104 and the previously known data. The timing recovery portion 108 calculates a timing phase gradient from two of a plurality of tap values of the modeling portion 106, and corrects a sampling-timing phase using the calculated gradient value.

FIG. 2 shows the modeling portion 106 and the timing recovery portion 108 of FIG. 1 in detail. The modeling portion 106 includes a non-linear filter 210 and an adder 220. The non-linear filter 210 comprises a plurality of taps (P_(−N), . . . , P⁻¹, P₀, P₁, . . . , P_(N)) 212 through 217, and a first adder 211. The timing recovery portion 108 comprises a second adder 241, a first multiplier 242, a third adder 243, a first delay 244, a second multiplier 245, a fourth adder 246 and a second delay 247.

The modeling portion 106 operates as follows.

After a binary data stream a_(k) (a_(k) is +1 or −1) is recorded on a data storage device and then reproduced therefrom, or received through a channel, a sampled signal r_(k) from the binary data stream is modeled in a pulse p_(n)(·) which varies according to data patterns, through the plurality of taps of the non-linear filter 210 as follows. A difference e_(k) between the product of the modeled signal p_(n)(·) and a predetermined data x_(k−n) and the input signal r_(k) is calculated by the adder 220 according to the Equation (1). $\begin{matrix} {e_{k} = {r_{k} - {\sum\limits_{n = {- N}}^{N}{x_{k - n}{p_{n}\left( {b_{k - n + {v:{k - n + 1}}},b_{{k - n - 1};{k - n - \tau}}} \right)}}}}} & (1) \end{matrix}$

In Equation (1), x_(k)=(a_(k)−a_(k−1))/2=−1, 0 or +1; x_(k)=−1 indicates the negative transition of data, x_(k)=0 indicates no transition, and x_(k)=+1 indicates positive transition of data. Also, b_(k)=|x_(k)|=1 or 0; b_(k)=1 indicates that there is an occurrence of a transition and b_(k)=0 means there is not an occurrence of a transition. b_(k−1:k−τ) represents τ data sets (b_(k−1), b_(k−2), . . . , b_(k−τ)) and a pulse p_(n) (b_(k−n+ν:k−n+1), b_(k−n−1:k−n−τ)) has a value which varies according to the states of the transition b_(k−n+ν:k−n+1) of future ν bits and the transition b_(k−n−1:k−n−τ) of past τ bits in the respective samples n.

The data a_(k) and b_(k) input to the non-linear filter 210 are known data when the equalizer is trained and the data detected in advance during a detection of data.

p_(n)(·) of Equation (1) can be expressed as Equation (2) by substituting a pattern state value s_(k). $\begin{matrix} \begin{matrix} {{p_{n}\left( {b_{{k - n + v};{k - n + 1}},b_{{k - n - 1}:{k - n - \tau}}} \right)} = \quad {\sum\limits_{m = 0}^{M - 1}{{\delta \left( {m - s_{k - n}} \right)}{p_{n}(m)}}}} \\ {= \quad {{\hat{i}}_{k - n}^{t}{\hat{p}}_{n}}} \end{matrix} & (2) \end{matrix}$

In Equation (2), δ(m−s_(k−n)) is a delta function which has a value of 1 when m is equal to s_(k−n) and a value of 0 when m is not equal to s_(k−n), {circumflex over ( )} indicates vector representation and t indicates the transpose. Also, M is the number of pulses p_(n)(·), which is equal to 2^(τ+ν), and s_(k−n), î_(k−n) and {circumflex over (p)}_(n) are respectively expressed as the Equations (3), (4) and (5). $\begin{matrix} {s_{k - n} = {{\sum\limits_{m + 1}^{v}{b_{k - n + m}2^{\tau + m - 1}}} + {\sum\limits_{m = 1}^{\tau}{b_{k - n - m}2^{\tau - m}}}}} & (3) \end{matrix}$

 î _(k−n)=[δ(s _(k−n))δ(s _(k−n)−1) . . . δ(s _(k−n) −M+1)]^(t)  (4)

{circumflex over (p)} _(n) =[{circumflex over (p)} _(n)(0){circumflex over (p)} _(n)(1) . . . {circumflex over (p)} _(n)(M−1)]^(t)  (5)

In Equation (2), the pulse p_(n) (b_(k−n+ν:k−n+1), b_(k−n−1:k−n−τ)) is the product of two vectors each of size M. Also, e_(k) of Equation (1) can be expressed as Equation (6) from Equation (2). $\begin{matrix} \begin{matrix} {e_{k} = \quad {r_{k} - {\sum\limits_{n = {- N}}^{N}{x_{k - n}{\hat{i}}_{k - n}^{t}{\hat{p}}_{n}}}}} \\ {= \quad {r_{k} - {\sum\limits_{n = {- N}}^{N}{{\hat{w}}_{k - n}{\hat{p}}_{n}}}}} \\ {= \quad {r_{k} - {{\overset{\sim}{w}}_{k}\overset{\sim}{p}}}} \end{matrix} & (6) \end{matrix}$

In Equation (6), ŵ_(k−n), {tilde over (w)}_(k) and {tilde over (p)} are respectively expressed as Equations (7), (8) and (9).

ŵ _(k−n) =x _(k−n) î _(k−n) ^(t)  (7)

{tilde over (w)} _(k) [ŵ _(k+N) ŵ _(k−1+N) . . . ŵ _(k−N)]  (8)

 {tilde over (p)}[p _(−N) ^(t) p _(1−N) ^(t) . . . p _(N) ^(t)]^(t)  (9)

When s_(k−n) is equal to 0, transitions do not occur in future ν bits and past τ bits on the basis of the current data a_(k−n). Then, an optimal pulse {tilde over (p)} minimizing the mean square of the modeling error is obtained by Equation (10).

{tilde over (p)}=E{{tilde over (w)} _(k) ^(t) {tilde over (w)} _(k)}⁻¹ E{{tilde over (w)} _(k) ^(t) r _(k)}  (10)

In Equation (10), E{·} indicates mean operation. The optimal pulse {tilde over (p)} can adaptively be calculated as Equation (11).

{tilde over (p)}={tilde over (p)}+μe _(k) {tilde over (w)} _(k)  (11)

In Equation (11), μ indicates step size.

Equation (11) may be expressed in detail as Equation (12).

p _(n)(i)=p _(n)(i)+μe _(k) x _(k−n)δ(s _(k−n) −i)  (12)

In Equation (12), n=−N, . . . , N and i=0, . . . , M−1.

Thus, the pulse p_(n)(·) is updated only in the case where x_(k−n) is not equal to 0 and s_(k−n)=1, and is maintained as the previous value in the other case.

The pulses do modeling on the channel characteristics of the sampling signal. Most channels from the hard disk drive (HDD) show nearly symmetric channel response. However, if the sampling phase is not precise, the pulses are asymmetric in the same analog signal. FIG. 3A shows the case where there is no phase difference between the pulses P₁ and P⁻¹ due to the precise sampling phase, and FIG. 3B shows the case where a phase difference between the pulses P₁ and P_(−l) exists due to the phase delay caused by an inaccurate sampling phase.

Thus, if the sampling phase is not precise as in FIG. 3B, the phase difference must be corrected. The phase correction is achieved by the timing recovery portion 108. The timing recovery portion 108 corrects the phase difference by using a timing phase information indicating the position of a pulse to be sampled from an asymmetrical pulse of the data pattern on which the non-linear effect is the least. Such correction is performed as follows.

First, a phase gradient z_(k) is calculated by the second adder 241 input from the taps P₁ and P⁻¹ of the non-linear filter 210, which is expressed as Equation (13).

z _(k) =p ₁(0)−p ⁻¹(0)  (13)

A frequency difference Δ_(k+1) between the input signal and a local timing source is calculated by the first multiplier 242, the third adder 243 and the first delay 244, and a timing phase ξ_(k+1) is calculated by the second multiplier 245 and the fourth adder 246 and the second delay 247, using the phase gradient z_(k), which are expressed as Equation (14).

Δ_(k+1)=Δ_(k) +β·z _(k)

ξ_(k+1)=ξ_(k) +α·z _(k)+Δ_(k+1)  (14)

In Equation (14), the phase gradient z_(k) is equal to 0 when a pulse is symmetrical, and α and β represent step sizes.

When the data stored in a data storage device is reproduced by a magneto-resistive (MR) head, the reproduced signal has different characteristics according to its positive direction or its negative direction. For example, it is possible to consider the characteristic of the signal which varies according to the directions by adding the state of the current data to the pattern of the pulse. Namely, according to the added current data a_(k), the pulse is redefined as p_(n)(b_(k−n+ν:k−n+1), c_(k), b_(k−n−1:k−n−τ)) and variables c_(k), M, and s_(k) are redefined as Equation (15). $\begin{matrix} {c_{k} = \left\{ {{\begin{matrix} {1,} & {{{if}\quad a_{k}} > 0} \\ {0,} & {otherwise} \end{matrix}M} = {2^{\tau + v + 1}{s_{k - n} = {{c_{k - n}2^{\tau}} + {\sum\limits_{m = 1}^{v}{b_{k - n + m}2^{\tau + m}}} + {\sum\limits_{m + 1}^{\tau}{b_{k - n - m}2^{\tau - m}}}}}}} \right.} & (15) \end{matrix}$

The other equations are the same as those mentioned before.

FIG. 4 shows an example of the nth filter tap P_(n) (where n=−N, . . . , 0, . . . , N) of FIG. 2. As shown in FIG. 4, the nth filter tap P_(n) (where n=−N, . . . , 0, . . . , N) having different tap values according to data patterns is constituted as follows. The nth filter tap P_(n) outputs a value of ŵ_(k−n){circumflex over (p)}_(n).

Buffers p_(n)(i) (where i=0, 1, . . . , 2^(τ+ν)−1) store tap values with respect to each pattern. An initial value p_(n) ⁰(i) (where i=0, 1, . . . , 2^(τ+ν)−1) is designated when a control signal LOAD is on at the initial stage of the operation. In FIG. 4, reference numerals 400 and 405 represent the 0th and (2^(τ+ν)−1)th buffers, respectively.

A tap value multiplexer 410 receives the pattern b_(k−1−n:k−t−n) of the past τ bit transition absolute value and the pattern b_(k−n−−ν:k−n+1) of the future ν bit transition absolute value, to output one among the buffer values p_(n)(i) (where i=0, 1, . . . , 2^(τ+ν)−1) of 2^(τ+ν). The result corresponds to the operation î_(k−n) ^(t){circumflex over (p)}_(n) of Equation (3).

A sign selector 425 and a current transition presence selector 430 provide the same result as the product of the output value î_(k−n) ^(t){circumflex over (p)}_(n) of the tap value multiplexer 410 and x_(k−n). The sign selector 425 selects the output value of the tap value multiplexer 410 when a_(k−n) is 1 and the product of the output value of the tap value multiplexer 410 and −1 when a_(k−n) is 0. The above process is the same as the process of multiplying x_(k−n) with the output value of the tap value multiplexer 410 under the assumption that b_(k−n)=1. Then, the current transition presence selector 430 selects either the output value of the sign selector 425 or 0 according to b_(k−n).

As a result, the output value of the current transition presence selector 430 is ŵ_(k−n){circumflex over (p)}_(n)={circumflex over (x)}_(k−n)î_(k−n) ^(t){circumflex over (p)}_(n), which is the output value of the nth filter tap P_(n).

Simultaneously, the nth filter tap P_(n) updates the tap value according to Equation (12) using the error e_(k).

An updated tap value multiplexer 435 selects one among the output values of the buffers P_(n)(i) (where i=0, 1, . . . , 2^(τ+1)−1) according to the input values of the future ν bit transition b_(k−n+ν:k−n+1) and the past τ bit transition b_(k−n−1:k−n−τ). Then, an increased/reduced value calculator 440 receives a_(k−n), μ and the error e_(k) to calculate μa_(k−n)e_(k), and the updated tap value calculator 445, an adder, adds μa_(k−n)e_(k) to the output value of the updated tap value multiplexer 435.

An updated tap value demultiplexer 450 receives the future ν bit transition b_(k−n+ν:k−n+1) and the past τ bit transition b_(k−n−1:k−n−τ)and outputs 2^(τ+ν) values. Here, only one of the output ports of the updated tap value demultiplexer 450 have a value of 1, and the remaining output ports of 2^(τ+ν)−1 have a value of 0. That is, the updated tap value demultiplexer 450 selects one among the 2^(τ+ν) buffers p_(n)(i) (where i=0, 1, . . . , 2^(τ+1)−1) according to the future ν bit transition b_(k−n+ν:k−n+1) and the past τ bit transition b_(k−n−1:k−n−τ). When a control signal UPDATE is high and b_(k−n) is 1, the output value of the updated tap value calculator 445 is provided to the selected buffer. When the control signal UPDATE is low or b_(k−n) is 0, the original tap value is maintained.

FIG. 5 shows the results of the phase correction by the non-linear signal receiver according to the present invention, which is obtained through simulation. A non-linear signal used in the simulation is as follows.

First, a channel data r_(k) for testing the performance of the present invention is generated by Equation (16). The channel signal r_(k) with respect to the binary data a_(k)(=+1 or −1) and x_(k)=(a_(k)−a_(k−1))/2 obtained by encoding a random binary data stream using RLL(0,4/4) are the sum of data x_(k) affected by a gain g_(k) and the phase ε_(k) of the pulse h(t), and white Gaussian noise n_(k). $\begin{matrix} {r_{k} = {{\sum\limits_{m = {- N}}^{N}{x_{k - m}g_{k - m}{h\left( {{mT} + \varepsilon_{k - m}} \right)}}} + n_{k}}} & (16) \end{matrix}$

In Equation (16), T indicates sampling period.

Here, the pulse h(t) is expressed as Equation (17). $\begin{matrix} {{h(t)} = \left\lbrack {1 + \left( {2{t/{pw}_{50}}} \right)^{2}} \right\rbrack^{- 1}} & (17) \end{matrix}$

In the equation (17), pw₅₀ is supposed to have the value of 2.5×(9/8). The amplitude of the noise added is defined by Equation (18).

SNR _(mfb) =E{[h(kT)−h(kT−T)]² }/E{n ² _(k)}  (18)

In Equation (18), E{·} indicates mean operation.

Changes in gain and pulse phase according to the presence of data transition are shown in the following Tables 1 and 2.

TABLE 1 b_(k − 1) b_(k + 1) g_(k) 0 0 1 0 1 γ 1 0 γ 1 1 γ²

TABLE 2 b_(k − 1) ε_(k)/T 0 0 1 0.5

As shown in FIG. 5, the initial phase error of the non-linear signal described above was 50% and the phase error decreased with the passing of time. A plot indicated by reference numeral 500 corresponds to the case of using a linear pulse of ν=0, τ=0 and N=1 (N represents the size of filter taps), and a plot indicated by reference numeral 502 corresponds to the case of using a linear pulse of ν=0, τ=0 and N=6. In both cases of using the linear pulse, a bias of a timing phase exists, so that timing jitter is considerably great. Also, a plot indicated by reference numeral 504 corresponds to the case of using a pattern dependent pulse of ν=1, τ=1 and N=1, in which there is no bias of the timing phase and the jitter is relatively small.

As described above, in the non-linear signal receiver according to the present invention, an accurate timing phase can be found using the model in which a non-linear channel of a high-density digital magnetic storing device is expressed as transition pulses selected according to the future ν bits and the past τ bits, thereby reducing timing jitter and bias. Also, by selecting τ, ν and N of the pulse model, the performance and complexity in correction of timing phase can appropriately be traded off. Also, a hangup phenomenon in which the sampling phase correction is interrupted for a predetermined period of time does not occur. 

What is claimed is:
 1. A non-linear signal receiver for detecting an original data a_(k) from an input signal r(t) which is a binary data stream input through a channel or reproduced from data recorded on a storing device, the receiver comprising: an analog-to-digital converter (ADC) for sampling the input value according to sampling timing phases, and converting the sampled data into a digital signal r_(k); a modeling portion including 2N+1 taps P_(n) (n=−N, . . . , 0, . . . , N) each for selecting one of 2^(τ+ν) tap values according to each pattern P_(n) (b_(k−n+ν:k−n+1), b_(k−n−1:k−n−τ)) of absolute values of the data transitions future ν bits and past τ bits, for estimating the channel characteristics of the sampled signal from the selected tap value and the data transition value; a timing recovery portion for controlling the sampling timing phase of the analog-to-digital converter using a phase gradient which is the difference between values of respective taps positioned symmetrically around the tap P₀ of the modeling portion; an equalizer for compensating for the deteriorated characteristics of the output value of the analog-to-digital converter; and a detector for converting the output of the equalizer to a digital value, to detect the original signal.
 2. The non-linear signal receiver of claim 1, wherein the phase gradient is equal to p₁(0)−p⁻¹(0).
 3. The non-linear signal receiver of claim 1, wherein the modeling portion comprises: 2N+1 taps for selecting one among 2^(τ+ν) pulses p_(n) (b_(k−n+ν:k−n+1), b_(k−n−1:k−n−τ)) according to the states of the transition b_(k−n+ν:k−n+1) of future ν bits and the transition b_(k−n−1:k−n−τ) of past τ bits in the respective samples n, and outputting the product of the selected value and the data transition value; and an adder for calculating the sum of the outputs of each tap.
 4. The non-linear signal receiver of claim 1, wherein the pulses p_(n)(·) are updated such that the mean square of an error which is the difference between the input value r_(k) and the output value of the adder is minimized.
 5. The non-linear signal receiver of claim 1, wherein each tap selects one among 2^(τ+ν+1) values in consideration of the current data c_(k) in addition to the future ν bits and past τ bits, wherein the current data c_(k) is 1 if the original data a_(k) is greater than 0, and otherwise the current data c_(k) is
 0. 6. The non-linear signal receiver of claim 1, wherein the timing recovery portion calculates a (k+1)th frequency difference Δ_(k+1) between the input signal r(t) and a local timing source for sampling the input signal r(t), and a (k+1)th timing phase ξ_(k+1) using the following equation: Δ_(k+1)=Δ_(k) +β·z _(k) ξ_(k+1)=ξ_(k) +α·z _(k)+Δ_(k+1) wherein α and β represents step sizes and z_(k) represents the kth phase gradient. 